package br.com.hotel.controller;

import java.util.List;

import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import br.com.hotel.dao.ClienteDAO;
import br.com.hotel.dao.ProdutoDAO;
import br.com.hotel.entity.Cliente;
import br.com.hotel.entity.Produto;


public class ProdutoJSF implements Crud<Produto>{
	private Long Id;
	private String descricao;

	
	public ProdutoJSF() {
	}
	
	public Long getId() {
		return Id;
	}
	public void setId(Long id) {
		Id = id;
	}
	
	
	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String save(){
		ProdutoDAO cdao=null;
		try {
			cdao = new ProdutoDAO();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Produto c = new Produto(this.Id,this.descricao);
		cdao.begin();
		cdao.save(c);
		cdao.commit();
		return "sucesso_produto_save";
	}
	public String edit(){
		return "sucesso_produto_edit";
	}

	@Override
	public String editar() throws Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String excluir() throws Exception {
		ProdutoDAO c = new ProdutoDAO();
		c.begin();
		c.delete(c.findById(this.Id));
		c.commit();
		return "sucess_produto_excluir";
	}

	@Override
	public DataModel<Produto> getAll() throws Exception {
		ProdutoDAO c = new ProdutoDAO();
		return (DataModel<Produto>)(new ListDataModel<Produto>(c.findAll()));
	}

	@Override
	public String inserir() throws Exception {
		return "sucesso_produto_inserir";
	}
	public List<Produto> getProdutos() throws ClassNotFoundException{
		ProdutoDAO p = new ProdutoDAO();
		return p.getProdutos();
	}
	
}
